package com.siyougame.system.api;

import com.baomidou.mybatisplus.extension.service.IService;
import com.siyougame.common.core.domain.entity.SysUser;
import com.siyougame.common.pojo.PageParam;
import com.siyougame.common.pojo.PageResult;
import com.siyougame.system.vo.DeptUserPageReqVO;
import com.siyougame.system.vo.OaGridApproveUserPageReqVO;

import java.util.Set;

/**
 * 用户 业务层
 * 
 * @author scrm
 */
public interface SysUserApiService extends IService<SysUser>
{
    PageResult<SysUser> selectUserListByDeptId(PageParam pageParam, Long deptId);
    PageResult<SysUser> selectUserListByDeptIdOaApprove(OaGridApproveUserPageReqVO oaGridApproveUserPageReqVO, Long deptId);
    PageResult<SysUser> management(PageParam pageParam, Long deptId);
    PageResult<SysUser> getDeptUser(DeptUserPageReqVO deptUserPageReqVO);
    PageResult<SysUser> getTaskTransferCandidate(PageParam pageParam, Long taskId);
    void cleanGrid(Long userId);
    void syncUserFromWx();
    boolean isAdminRole(Long userId);

    void updatePosition(String slon, String slat);

    public Set<String> getMenuPermission(SysUser user);
}
